r.GET("/json", func(c *gin.Context) { // 1 方式一,直接返回map格式 var m = map[string]interface{}{ "name": "lqz", "age": 19, } c.JSON(200, m) // 2 方式二,借助gin.H, gin.H 是 map[string]interface{}的缩写 c.JSON(200, gin.H{"name": "lqz", "age": 19}) // 3 方式三:直接返回结构体,注意大写,导出字段 c.JSON(200, struct { Name string`json:"user"` Age int }{"lqz", 19}) })
2.3 返回json数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
package main
import ( "github.com/gin-gonic/gin" )
funcmain() { router := gin.Default() router.GET("/json", func(c *gin.Context) { type Person struct { Name string`json:"name"` Age int`json:"age"` } var personList = []Person{{"lqz", 19}, {"彭于晏", 22}, {"林俊杰", 39}} c.IndentedJSON(200, personList) }) router.Run(":8000") }
2.4 返回xml格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
funcmain() { r := gin.Default() r.GET("/xml", func(c *gin.Context) { // 1 方式一:使用gin.H c.XML(200,gin.H{"name":"lqz","age":19}) // 2 方式二:使用结构体 type Person struct { Name string`xml:"user"` Age int } var lqz Person=Person{"lqz",19} c.XML(200,lqz)